#ifndef __WINFORM_H__
#define __WINFORM_H__

class WinForm
{
private:

	ATOM aWndUID;
	HWND mhWnd;
	HINSTANCE const mhInst;

	wstring sWndCaption;
	wstring sAppClassName;

	UINT iWndWidth;
	UINT iWndHeight;

protected:


public:

	WinForm(HINSTANCE hInst, wstring caption, wstring classname);
	virtual ~WinForm();

	void Init(UINT width, UINT height);
	virtual int Run();

	LRESULT MsgProc(UINT const& uMsg, WPARAM const& wParam, LPARAM const& lParam);

	HWND const& WndHandle() const;
	HINSTANCE const& WndInstance() const;
};

LRESULT CALLBACK MainWndProc(HWND, UINT, WPARAM, LPARAM);

#endif